import org.junit.Test;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class IncreaseForTest {

    @Test
    public void test() {
        ArrayList<String> list = new ArrayList<String>();
        //可以设定初始容量
        ArrayList<String> list1 = new ArrayList<String>(3);
        list1.add("1");
        list1.add("2");
        list1.add("3");

        //添加
        list.add("a");
        //插入另一个集合元素
        list.addAll(0,list1);
        //指定插入的位置
        list.add(0,"up");
        list.add("1");
        System.out.println(list);

        //获取
        System.out.println("第一个元素是: " + list.get(0));
        System.out.println("1第一次出现的位置是：: " + list.indexOf("1"));
        System.out.println("1最后一次出现的位置是：: " + list.lastIndexOf("1"));

        //替换指定位置内容
        list.set(2, "down");
        System.out.println(list);

        //删除,可以传入index或者对象的值
        list.remove("3");
        System.out.println(list);
        list.remove(3);
        System.out.println(list);
//        list.clear();
//        System.out.println(list);


        //截取,返回一个List的对象
        List sublist = list.subList(0,2);
        System.out.println(sublist);

        //列表信息
        System.out.println("列表的长度是： " + list.size());
        System.out.println("列表是否为空：" + list.isEmpty());
        System.out.println("列表是否包含up：" + list.contains("up"));

        //循环
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        System.out.println("-------------------------");

        for(String s: list) {
            System.out.println(s);
        }
        System.out.println("-------------------------");
        Iterator listIt = list.iterator();
        while(listIt.hasNext()) {
            System.out.println(listIt.next());
        }

        //转换
        Object[] ol = list.toArray();
        //转换为指定类型的数组，new String是告诉转换后的数组类型，0的意思是小于list，他会自动设置成和集合一样的长度
        String[] ols = list.toArray(new String[0]);


    }
}
